/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;

import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author andreus & gabriel
 */
public class TableModelSala extends AbstractTableModel {

    private static ArrayList<Sala> salas;
    private static final String[] colunas = {"Número da Sala", "Lotação"};

    public TableModelSala() {
        salas = new ArrayList<>();
    }

    // Metodo chamado pela GUI para remover um elemento
    public void remove(int index) {
        salas.remove(index);
        fireTableRowsDeleted(index, index);
    }

    // Metodo chamado pela GUI para selecionar um elemento
    public Sala select(int index) {
        return salas.get(index);
    }

    // Metodo chamado pela GUI para inserir um elemento
    public void add(Sala s) {
        salas.add(s);
        fireTableRowsInserted(salas.size() - 1, salas.size() - 1);
    }
    
    public Sala search(int n){
        for(Sala s : salas){
            if(s.getNumero() == n){
                return s;
            }
        }
        return null;
    }

    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public String getColumnName(int columnIndex) {
        return colunas[columnIndex];
    }

    @Override
    public int getRowCount() {
        return salas.size();
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch (columnIndex) {
            case 0:
                return salas.get(rowIndex).getNumero();
            case 1:
                return salas.get(rowIndex).getLotacao();
        }
        return null;
    }
}
